/**
 * 邮箱
 * @param {*} s
 */
export function isEmail (s) {
  return /^([a-zA-Z0-9._-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)
}

/**
 * 手机号码
 * @param {*} s
 */
export function isMobile (s) {
  return /^1[0-9]{10}$/.test(s)
}

/**
 * 电话号码
 * @param {*} s
 */
export function isPhone (s) {
  return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)
}

/**
 * URL地址
 * @param {*} s
 */
export function isURL (s) {
  return /^http[s]?:\/\/.*/.test(s)
}

/**
 * 年-月-日
 * 格式日期
 * @param {*} s
 */
export function isDateYYYYMMDD (s) {
  return /^([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))$/.test(s)
}



/**
 * 正整数
 * @param {*} s
 */
export function isNumber (s) {
  return /^[1-9]\d*$/.test(s)
}


/**
 * 浮点数
 * @param {*} s
 * 1正数、0负数判断默认全部
 * @param {*} positiveNumber
 * 小数位数默认不限制
 * @param {*} decimalNumber
 */
export function isNumberOrFload (s,positiveNumber=null,decimalNumber=null) {
  var reStr = ""
  if(positiveNumber == null ){
    reStr = "^("+"-?"+"\\d+)"
  }
  if(positiveNumber == 0){
    reStr = "^("+"-"+"\\d+)"
  }
  if(positiveNumber == 1){
    reStr = "^(\\d+)"
  }
  reStr = reStr + "(\\.\\d+)?"
  let decimalNumberFlag = true
  if(decimalNumber > 0) {
    let decimalNumberIndex = s.indexOf('.')
    if(decimalNumberIndex > -1){
      let subStr = s.substring(decimalNumberIndex + 1)
      if(subStr.length>decimalNumber){
        decimalNumberFlag = false
      }
    }
   
  }
  reStr = reStr+"$"
  var re = new RegExp(reStr)

  return re.test(s) && decimalNumberFlag;
}


/**
 * 地区 / 分割
 * @param {*} s
 */
export function isArea (s) {
  return /^[\u4e00-\u9fa5]+((\/[\u4e00-\u9fa5]+)*)?$/.test(s)
}
